软件测试活动旨在找到软件产品的可能缺陷,并确保该产品满足其预期要求。一些软件测试接近的方法缺乏自动化或部分自动化,这增加了测试时间和整体软件测试成本。最近,增强学习(RL)已成功地用于复杂的测试任务中,例如游戏测试,回归测试和测试案例优先级,以自动化该过程并提供持续的适应。从业者可以通过从头开始实现RL算法或使用RL框架来使用RL。开发人员已广泛使用这些框架来解决包括软件测试在内的各个领域中的问题。但是,据我们所知,尚无研究从经验上评估RL框架中实用算法的有效性和性能。在本文中,我们凭经验研究了精心选择的RL算法在两个重要的软件测试任务上的应用:在连续集成(CI)和游戏测试的上下文中测试案例的优先级。对于游戏测试任务,我们在简单游戏上进行实验,并使用RL算法探索游戏以检测错误。结果表明,一些选定的RL框架,例如Tensorforce优于文献的最新方法。为了确定测试用例的优先级,我们在CI环境上运行实验,其中使用来自不同框架的RL算法来对测试用例进行排名。我们的结果表明,在某些情况下,预实算算法之间的性能差异很大,激励了进一步的研究。此外,建议对希望选择RL框架的研究人员进行一些基准问题的经验评估,以确保RL算法按预期执行。
translated by 谷歌翻译
背景:在各个领域中观察到需求不断增加,以利用机器学习(ML)解决复杂问题。 ML模型作为软件组件实现,并部署在机器学习软件系统(MLSS)中。问题:非常需要确保MLSS的服务质量。这种系统的虚假决定或不良决定会导致其他系统的故障,重大财务损失甚至对人类生命的威胁。 MLSSS的质量保证被认为是一项具有挑战性的任务,目前是一个热门研究主题。此外,重要的是要涵盖MLSS中质量的所有各个方面。目的:本文旨在从从业者的角度研究MLSS中实际质量问题的特征。这项实证研究旨在确定与MLSS质量差有关的坏实践目录。方法:我们计划对从业人员/专家进行一系列访谈,认为访谈是在处理质量问题时检索其经验和实践的最佳方法。我们希望在此步骤中开发的问题目录还将帮助我们以后确定MLSS质量问题的严重性,根本原因以及可能的补救措施,从而使我们能够为ML模型和MLSS开发有效的质量保证工具。
translated by 谷歌翻译
自动程序合成是软件工程中的持久梦想。最近,Open AI和Microsoft提出了一种有希望的深度学习(DL)解决方案,称为Copilot,作为工业产品。尽管一些研究评估了副驾驶解决方案的正确性并报告其问题,但需要进行更多的经验评估,以了解开发人员如何有效地受益。在本文中,我们研究了两项不同的编程任务中副标士的功能:(1)为基本算法问题生成(和复制)正确,有效的解决方案,(2)将副副副总裁与人类程序员的建议解决方案与一组人的建议解决方案进行比较编程任务。对于前者,我们评估副铜在解决计算机科学中选定的基本问题(例如对基本数据结构的基本问题)中的性能和功能。在后者中,使用人提供的解决方案的编程问题数据集。结果表明,Copilot能够为几乎所有基本算法问题提供解决方案,但是,某些解决方案是越野车且不可复制的。此外,Copilot在组合多种方法来生成解决方案方面存在一些困难。将副驾驶员与人类进行比较,我们的结果表明,人类溶液的正确比率大于副本的正确比率,​​而副铜产生的越野车解决方案需要更少的努力来维修。尽管本研究和以前的研究中的强调,副柯洛特(Copilot)作为开发人员特别是在高级编程任务中的助手表现出局限性,但它可以为基本编程任务生成初步解决方案。
translated by 谷歌翻译
在现实世界应用程序中部署深度学习(DL)的软件系统有所增加。通常,DL模型是使用具有自己的内部机制/格式来代表和训练DL模型的DL框架开发和培训的,通常这些格式无法通过其他框架识别。此外,训练有素的模型通常被部署在与开发的环境不同的环境中。为了解决互操作性问题并使DL模型与不同的框架/环境兼容,引入了一些交换格式,例如ONNX和Coreml等DL模型。但是,社区从未对ONNX和Coreml进行经验评估,以揭示其转换后的预测准确性,性能和稳健性。转换模型的准确性差或不稳定行为可能导致部署的基于DL的软件系统的质量差。在本文中,我们进行了第一项评估ONNX和Coreml的经验研究,以转换训练有素的DL模型。在我们的系统方法中,两个流行的DL框架Keras和Pytorch用于在三个流行数据集上训练五种广泛使用的DL模型。然后将训练有素的模型转换为ONNX和Coreml,并将其转移到待评估该格式的两个运行时环境中。我们研究转换之前和之后的预测准确性。我们的结果揭示了转换模型的预测准确性在相同的原始级别。也研究了转换模型的性能(时间成本和内存消耗)。转换后模型的大小减小,这可能导致基于DL的软件部署。通常将转换的模型评估为在相同级别的原始级别上。但是,获得的结果表明,与ONNX相比,Coreml模型更容易受到对抗攻击的影响。
translated by 谷歌翻译
在各个域中应用机器学习(ML)的快速升级导致更多关注ML组件的质量。然后,旨在提高ML组件质量并安全地将其集成到基于ML的系统中的技术和工具的增长。尽管这些工具中的大多数都使用Bugs的生命周期,但没有标准的错误来评估其性能,比较它们并讨论其优势和弱点。在这项研究中,我们首先研究了基于ML的系统中错误的可重复性和可验证性,并显示了每个错误的最重要因素。然后,我们探索在基于ML的软件系统中生成错误基准的挑战,并提供一个错误基准缺陷4ML,该缺陷4ML满足标准基准的所有标准,即相关性,可重复性,公平性,可验证性和可用性。该故障负载基准测试包含ML开发人员在GitHub和堆栈溢出上报告的113个错误,使用两个最受欢迎的ML框架:TensorFlow和Keras。缺陷4ML还解决了基于ML的软件系统软件可靠性工程的重要挑战,例如:1)框架的快速变化,通过为不同版本的框架提供各种错误,2)代码便携性,通过在不同的ML框架中提供相似的错误,3 )错误可重复性,通过提供有关所需依赖关系和数据的完整信息,以及4)通过介绍指向错误的起源的链接来提供有关所需依赖性和数据的完整信息。基于ML的系统从业人员和研究人员可以评估其测试工具和技术的缺陷4ML。
translated by 谷歌翻译
深度学习(DL)框架现在被广泛使用,简化了复杂模型的创建以及它们对各种应用的集成甚至到非DL专家。但是,就像任何其他程序一样,他们容易发生错误。本文与命名静默错误的错误分类:它们会导致错误的行为,但它们不会导致系统崩溃或挂起,也不会向用户显示错误消息。这种错误在DL应用程序和框架中更危险,因为系统的“黑匣子”和系统的随机性质(最终用户无法理解模型如何做出决定)。本文介绍了Keras和Tensorflow Silent错误的第一个实证研究,以及它们对用户节目的影响。从Tensorflow Github存储库中提取与KERA相关的封闭问题。在我们收集的1,168个问题中,77个影响了影响用户程序的可重复静音错误。我们根据“用户程序的影响”和“发生问题”的“发生问题的组件”归类错误。然后,我们根据用户程序的影响,我们为每个问题派生威胁级别。为了评估所确定的类别和影响规模的相关性,我们使用103个DL开发人员进行了在线调查。参与者普遍同意DL库中静音错误的重大影响,并承认了我们的研究结果(即,沉默错误的类别和拟议的影响量表)。最后,利用我们的分析,我们提供了一套指导方针,以促进对DL框架中的这些错误的保护。
translated by 谷歌翻译
在自动车辆,健康和航空等安全关键系统领域中越来越多的加强学习引发了确保其安全的必要性。现有的安全机制,如对抗性训练,对抗性检测和强大的学习并不总是适应代理部署的所有干扰。这些干扰包括移动的对手,其行为可能无法预测的代理人,并且作为对其学习有害的事实问题。确保关键系统的安全性也需要提供正式保障对扰动环境中的代理人的行为的正式保障。因此,有必要提出适应代理人面临的学习挑战的新解决方案。在本文中,首先,我们通过提出移动对手,产生对代理人政策中的缺陷的对抗性代理人。其次,我们使用奖励塑造和修改的Q学习算法作为防御机制,在面临对抗扰动时改善代理人的政策。最后,采用概率模型检查来评估两种机制的有效性。我们在离散网格世界进行了实验,其中一个面临非学习和学习对手的单一代理人。我们的结果表明,代理商与对手之间的碰撞次数减少。概率模型检查提供了关于对普遍环境中的代理安全性的较低和上部概率范围。
translated by 谷歌翻译
本文解决了从高维离散数据中学习稀疏结构贝叶斯网络的问题。与连续的贝叶斯网络相比,由于较大的参数空间,学习离散的贝叶斯网络是一个具有挑战性的问题。尽管已经开发了许多用于学习连续贝叶斯网络的方法,但对于离散的网络,很少有人提出任何方法。在本文中,我们将学习贝叶斯网络作为优化问题,并提出一个分数函数,以确保学习结构为稀疏的定向无环图。此外,我们实现了一个块状随机坐标下降算法来优化分数函数。具体而言,我们在优化算法中使用降低方差方法来使该算法有效地用于高维数据。所提出的方法应用于众所周知的基准网络的合成数据。测量构造网络的质量,可扩展性和鲁棒性。与某些竞争方法相比,结果表明,我们的算法优于一些众所周知的建议方法。
translated by 谷歌翻译
背景信息:在过去几年中,机器学习(ML)一直是许多创新的核心。然而,包括在所谓的“安全关键”系统中,例如汽车或航空的系统已经被证明是非常具有挑战性的,因为ML的范式转变为ML带来完全改变传统认证方法。目的:本文旨在阐明与ML为基础的安全关键系统认证有关的挑战,以及文献中提出的解决方案,以解决它们,回答问题的问题如何证明基于机器学习的安全关键系统?'方法:我们开展2015年至2020年至2020年之间发布的研究论文的系统文献综述(SLR),涵盖了与ML系统认证有关的主题。总共确定了217篇论文涵盖了主题,被认为是ML认证的主要支柱:鲁棒性,不确定性,解释性,验证,安全强化学习和直接认证。我们分析了每个子场的主要趋势和问题,并提取了提取的论文的总结。结果:单反结果突出了社区对该主题的热情,以及在数据集和模型类型方面缺乏多样性。它还强调需要进一步发展学术界和行业之间的联系,以加深域名研究。最后,它还说明了必须在上面提到的主要支柱之间建立连接的必要性,这些主要柱主要主要研究。结论:我们强调了目前部署的努力,以实现ML基于ML的软件系统,并讨论了一些未来的研究方向。
translated by 谷歌翻译
如今,合作多代理系统用于学习如何在大规模动态环境中实现目标。然而,在这些环境中的学习是具有挑战性的:从搜索空间大小对学习时间的影响,代理商之间的低效合作。此外,增强学习算法可能遭受这种环境的长时间的收敛。本文介绍了通信框架。在拟议的沟通框架中,代理商学会有效地合作,同时通过引入新的状态计算方法,状态空间的大小将大大下降。此外,提出了一种知识传输算法以共享不同代理商之间的获得经验,并制定有效的知识融合机制,以融合利用来自其他团队成员所收到的知识的代理商自己的经验。最后,提供了模拟结果以指示所提出的方法在复杂学习任务中的功效。我们已经评估了我们对牧羊化问题的方法,结果表明,通过利用知识转移机制,学习过程加速了,通过基于状态抽象概念产生类似国家的状态空间的大小均下降。
translated by 谷歌翻译